# A part of NonVisual Desktop Access (NVDA)
# Copyright (C) 2025 Bill Dengler
# This file is covered by the GNU General Public License.
# See the file COPYING for more details.

*** Settings ***
Documentation	Visual Studio Code tests
Force Tags	NVDA	smoke test	vscode
Library	NvdaLib.py
Library	WindowsLib.py
Library	ScreenCapLibrary
Library	VSCodeLib.py
Library	vscodeTests.py

Test Setup	default setup
Test Teardown	default teardown

*** Keywords ***
default setup
	logForegroundWindowTitle
	start NVDA    standard-dontShowWelcomeDialog.ini
	logForegroundWindowTitle
	enable_verbose_debug_logging_if_requested

default teardown
	logForegroundWindowTitle
	${screenshotName}=    create_preserved_test_output_filename    failedTest.png
	Run Keyword If Test Failed    Take Screenshot    ${screenshotName}
	dump_speech_to_log
	dump_braille_to_log
	close vscode
	quit NVDA

*** Test Cases ***

status line is available
	[Documentation]    Ensure NVDA+end does not report "no status line found".
	status_line_is_available

sidebar toggle announced
	[Documentation]    Ensure control+b announces sidebar shown/hidden.
	sidebar_toggle_announced

command palette
	[Documentation]    Ensure the command palette is announced when activated and can be navigated.
	command_palette

file navigation
	[Documentation]    Ensure file navigation works correctly.
	file_navigation

search panel
	[Documentation]    Ensure the search panel is announced when activated and can be navigated.
	search_panel

file editor operations
	[Documentation]    Ensure file editor operations such as navigation, undo, and redo work correctly.
	file_editor_operations

extensions panel
	[Documentation]    Ensure extensions panel is accessible
	extensions_panel

terminal panel
	[Documentation]    Ensure terminal panel is accessible.
	terminal_panel
